1. Field of the Invention
The present invention relates to transaction processing systems and databases in a distributed environment where clients or remote application programs access data through transactions executed on a server or host system. More particularly, the present invention deals with ways of formatting the requested data before it is received by the client so as to be in a format readily accessible to the client.
2. Present State of the Art
In centralized transaction processing systems, such as the Information Management System (IMS) available from International Business Machines Corporation (IBM), transactions are executed and in many instances contain results data that is useful to a particular client of the system. Typically, a client of the system is an application running on the host system that was designed along with the database layout.
With the advent of the Internet and the World Wide Web (Web), it is desirable to make the data contained in a centralized transaction processing system more accessible through remote application programs or clients that communicate with software running at the host system or server to access the desired information. Usually, the software running on the host system will execute or have executed a transaction that has results data associated therewith upon completion of the transaction. The results data may include a set of records or segments of a set format.
A remote application program, therefore, must be able to interact with the centralized transaction processing system, understand the format of the results data, and be written in such a manner to parse through all the results data to access the relevant portions of desired data. Because centralized transaction processing systems can be complex, ways are sought to reduce the complexity of remote application development and make it easier to adapt existing remote applications so that they are able to access the desired information over the Internet. It would be desirable to create simplified remote application programs requiring significantly less understanding of the intricacies of a complex centralized transaction processing system.
In many instances, the development cost to adapt an existing remote application program may be prohibitive since an existing tool expects data in a certain format and adapting requires considerable change in order to convert the results data received from a centralized transaction processing system. It would be desirable to be able to return data over the communications network formatted in a way the existing remote application already understands. This would allow a whole host of existing remote applications to adapted in a relatively minor fashion.
Additionally, the proportion of relevant desired data may be small in proportion to each segment or record causing a large amount of useless data to be transmitted over the communications network thereby eating up valuable bandwidth and inhibiting overall performance. The data as organized and accessed in terms of transactions from the centralized transaction manager may contain much more data than is desired by the remote application program. It would be desirable to xe2x80x9cfilterxe2x80x9d the unwanted data by formatting the results data received from the executed transaction before it is returned to the remote application program.
Finally, from a security standpoint, there may be sensitive information that the data owner may not want to be released indiscriminately over a public communications network, such as the Internet. Again, it would be desirable to xe2x80x9cfilterxe2x80x9d sensitive information by formatting the results data received from an executed transaction before it is placed on an unsecure communications network.
It is an object of the present invention to reduce development complexity of remote application programs, allow easier adaptability of existing remote application programs, and assist in providing general connectivity between data available in the database of a centralized transaction processing system and remote application programs.
It is another object of the present invention to allow better communications network bandwidth utilization.
It is yet another object of the present invention to prevent sensitive information from being placed on an unsecure or public communications network.
Additional objects and advantages of the present invention will be realized from the following description that follows by those skilled in the art or may be learned by practicing the invention. The objects and advantages of the present invention may be obtained by the ways shown and as particularly pointed out in the appended claims.
To achieve the foregoing objects, and in accordance with the invention as embodied and broadly described herein, a method, computer program product, system, and data structure used in mapping data received from a centralized transaction processing system, such as the IMS system available from IBM, at the request of a remote application program or other client made across a communications network, such as the Internet, is provided.
At a point away from a remote application program or other client, such as at the computer that runs the centralized transaction processing system, a transaction can be executed on the centralized transaction processing system, typically at the request of the remote application program. The results data from the transaction is formatted before being received by the remote application program. This formatting provides a mechanism to access only the desired information so that simplified remote application programs can be created that do not need to understand the format of the results data, only the simplified formatted results data. This formatting allows the results data to be returned in a way that an existing remote application program already understands thereby reducing development expense to adapt the existing program to access the information located in the database of the centralized transaction processing system. The formatting prior to receipt also allows sensitive data from being placed onto an unsecure or public communications network, such as the Internet, thereby providing higher data security. Finally, unwanted data may be xe2x80x9cfilteredxe2x80x9d during the formatting process so that the communications network bandwidth is used more efficiently.
Formatting can occur in many different ways that may be recognized by those skilled in the art. A robust formatting scheme will allow data to be added, deleted, changed, or reordered from the transaction results data and do so in a convenient and efficient manner. One embodiment of the present invention utilizes maps that provide formatting instructions to a data mapper that, upon following the instructions, will create the formatted results data that is sent to the remote application program.
For example, a map identifier, a transaction code identifying the transaction to be executed, and any other supporting information is received from the remote application program. The transaction code and optional support information (e.g., query information, etc.) are used to initiate the execution of a transaction that produces results data. The map identifier is used to access a predetermined and stored map having the formatting instructions. Once the results data is formatted, the formatted results data is sent to the remote application program.
One form of information used within a map are data source pairs. Here, one value determines the source of the data and the other value determines how much to use in the formatted results data. The pairs are processed sequentially with each pair indicating a portion of the data. Two main types of data source pairs are used: offset-length pairs and literal value-length pairs. The offset refers to the offset from the beginning of the results data while the literal value would be the actual data to be used. For example, to send the entire results data unchanged and unformatted a single data source pair of the offset-length type would be used where the offset would be zero and the length would be length of the results data.
Another form of information that could be used within a map are source-destination triplets. In this instance, there is a source indicator, a destination offset into a buffer, and a length indicating how much to transfer from the indicated source into a buffer. The source indicator may be either a literal value or an offset into a results data set.
The preceding objects and features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereafter.